using System;
using System.Collections.Generic;

namespace WindowsFormsDataBaice
{
    /// <summary>
    /// API响应模型
    /// </summary>
    public class ApiResult<T>
    {
        public int Code { get; set; }
        public string Msg { get; set; }
        public T Data { get; set; }
    }

    /// <summary>
    /// 科室列表DTO
    /// </summary>
    public class DepartmentListDto
    {
        public List<DepartmentTreeDto> Departments { get; set; }
        public int TotalCount { get; set; }
    }

    /// <summary>
    /// 科室树形DTO
    /// </summary>
    public class DepartmentTreeDto
    {
        public int Id { get; set; }
        public string DepartmentName { get; set; }
        public string DepartmentAddr { get; set; }
        public decimal RegistrationFee { get; set; }
        public string Type { get; set; }
        public bool IsOnline { get; set; }
        public bool IsEmergencyService { get; set; }
        public int ParentId { get; set; }
        public string Remark { get; set; }
        public DateTime CreateTime { get; set; }
        public List<DepartmentTreeDto> Children { get; set; }
    }

    /// <summary>
    /// 新的一级科室DTO - 匹配新的API返回格式
    /// </summary>
    public class FirstLevelDepartmentDto
    {
        public int Id { get; set; }
        public string DepartmentName { get; set; }
        public string Level { get; set; }
        public bool IsOnline { get; set; }
        public string StatusText { get; set; }
        public string Type { get; set; }
        public int ParetId { get; set; }
        public string ParentDepartmentName { get; set; }
        public string DepartmentAddr { get; set; }
        public bool IsEmergencyService { get; set; }
        public string CreatePeople { get; set; }
        public DateTime? CreateTime { get; set; }
        public string Remark { get; set; }
    }

    /// <summary>
    /// 新的一级科室API响应DTO
    /// </summary>
    public class FirstLevelDepartmentResponseDto
    {
        public int TotaCount { get; set; }
        public int TotaPage { get; set; }
        public List<FirstLevelDepartmentDto> PageData { get; set; }
        public string Msg { get; set; }
        public int Code { get; set; }
        public object Data { get; set; }
    }
} 